#!/bin/sh
#
# /etc/init.d/rcS
#

echo -n "mounting swap..."
/sbin/swapon /dev/hdc
echo "done."

echo -n "setting up network..."
/sbin/ifconfig eth0 10.0.0.2 txqueuelen 1000
/sbin/ifconfig lo 127.0.0.1

echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
echo "524287" > /proc/sys/net/core/rmem_max
echo "524287" > /proc/sys/net/core/wmem_max
echo "524287" > /proc/sys/net/core/optmem_max
echo "300000" > /proc/sys/net/core/netdev_max_backlog
echo "131072" > /proc/sys/fs/file-max
echo "10" > /proc/sys/vm/dirty_writeback_centisecs
echo "done."

echo -n "starting nfs client..."
/sbin/portmap &
/sbin/lockd &
echo "done."

echo -n "waiting for server..."
/usr/bin/netcat -c -l -p 8000

echo -n "mounting remote share..."
mkdir /nfs
mount 10.0.0.1:/nfs /nfs
echo "done."

cd /nfs

initparam=`m5 initparam`

if test X$initparam == X0; then
    /sbin/m5 checkpoint 100000000 2000000000
    dd if=/dev/zero of=foo bs=1024k count=512
else
    /sbin/m5 checkpoint 1000000000 2000000000
    /benchmarks/dbench/dbench $initparam
fi

/sbin/m5 exit
